package com.job.DQH.dqh720.homework;

import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Scanner;

//作业：利用Map对字符串的字母进行数字统计
public class Test {
    public static void main(String[] args) {
        System.out.println("请输入字符串：");
        Scanner sc = new Scanner(System.in);
        String str = sc.next();

        Map<Character,Count> map = new LinkedHashMap<>();

        for (int i = 0; i <str.length() ; i++) {
            if(Character.isUpperCase(str.charAt(i))||Character.isLowerCase(str.charAt(i))){//判断这一个字符是否为字母
                if(map.get(str.charAt(i))==null){//如果该字母的值不存在，那么该字母不再map中
                    map.put(str.charAt(i),new Count(1));//为map添加键值对，键为此字母，值为Count的对象
                }else{
                    map.get(str.charAt(i)).addCount();//如果存在此字母，则取它的值，并调用addCount方法
                }
            }
        }

        System.out.println(map);//由于输出Count对象会默认输出地址，因此要重写Count的toString方法
    }
}
